package com.sunyard.dal.bo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Map;

@Data
@ApiModel
public class TaskAddBO extends BaseBO {

    private static final long serialVersionUID = -1627180054226233340L;
    /**
     * 任务名称 不超过64位
     */
    @ApiModelProperty(value = "任务名称", required = true)
    @Size(max = 64, message = "不超过64位")
    @NotBlank(message = "任务名称不能为空")
    private String taskName;
    /**
     * 任务类型  0-通用应用下载 1-指定应用下载 2-通用资源下载 3-基础信息上送 4-应用列表上送 5-锁定终端 6-解锁终端 7-重启终端
     */
    @ApiModelProperty(value = "任务类型", required = true)
    @NotNull(message = "任务类型不能为空")
    private Integer taskType;
    /**
     * 终端硬件序列号
     */
    @ApiModelProperty(value = "终端硬件序列号")
    private String deviceSn;
    /**
     * 终端厂商
     */
    @ApiModelProperty(value = "终端厂商", required = true)
    @NotBlank(message = "终端厂商不能为空")
    private String deviceBrand;
    /**
     * 终端型号
     */
    @ApiModelProperty(value = "终端型号", required = true)
    @NotBlank(message = "终端型号不能为空")
    private String deviceModel;
    /**
     * 终端类型
     */
    @ApiModelProperty(value = "终端类型", required = true)
    @NotBlank(message = "终端类型不能为空")
    private String deviceType;
    /**
     * 应用资源主键 任务类型为2-通用资源下载 字段必填
     */
    @ApiModelProperty(value = "应用资源主键")
    private String relevantResource;
    /**
     * 是否重启 0-重启 1-不重启
     */
    @ApiModelProperty(value = "是否重启（0-重启 1-不重启）")
    @NotBlank(message = "是否重启不能为空")
    private String reboot;
    /**
     * 任务描述  不超过256位
     */
    @ApiModelProperty(value = "任务描述")
    @Size(max = 25, message = "任务描述  不超过256位")
    private String taskDesc;
    /**
     * 所属机构
     */
    @ApiModelProperty(value = "任务描述", required = true)
    @NotBlank(message = "所属机构不能为空")
    private String orgId;
    /**
     * 终端硬件序列号拼接字段
     */
    @ApiModelProperty(value = "如通过选择多个终端  可将序列号以 逗号 拼接到这个字段")
    private String deviceSns;

}
